﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ImageCalibModule
{
    public partial class FormMainCalibSetting : DevExpress.XtraEditors.XtraForm
    {
        ImageCalibHandeye imageCalibHandeye;
        List<ImageAndTableItem> imageAndTableItemsOrg;
        List<ImageAndTableItem> imageAndTableItemsRotate;
        List<ImageAndTableItem> imageAndTableItemsCalib;
        public FormMainCalibSetting()
        {
            InitializeComponent();
        }
        public FormMainCalibSetting(ImageCalibHandeye imageCalibHandeyeIn)
        {
            InitializeComponent();
            imageCalibHandeye=imageCalibHandeyeIn;
        }

        private void FormMainCalibSetting_Load(object sender, EventArgs e)
        {
            propertyGridControl1.SelectedObject = imageCalibHandeye;
            imageAndTableItemsOrg = new List<ImageAndTableItem>();
            for (int i = 0; i < 9; i++)
            {
                ImageAndTableItem newImageAndTableItem=new ImageAndTableItem();
                newImageAndTableItem.Name = "原始数据" + (i + 1).ToString(); ;
                newImageAndTableItem.ImageX = imageCalibHandeye.dImageX[i];
                newImageAndTableItem.ImageY = imageCalibHandeye.dImageY[i];
                newImageAndTableItem.TableX = imageCalibHandeye.dTableX[i];
                newImageAndTableItem.TableY = imageCalibHandeye.dTableY[i];
                imageAndTableItemsOrg.Add(newImageAndTableItem);
            }
            imageAndTableItemsRotate = new List<ImageAndTableItem>();
            for (int i = 0; i < 2; i++)
            {
                ImageAndTableItem newImageAndTableItem = new ImageAndTableItem();
                newImageAndTableItem.Name = "旋转数据" + (i + 1).ToString(); ;
                newImageAndTableItem.ImageX = imageCalibHandeye.dImageAngleX[i];
                newImageAndTableItem.ImageY = imageCalibHandeye.dImageAngleY[i];
                newImageAndTableItem.TableX = imageCalibHandeye.dTableAngleX[i];
                newImageAndTableItem.TableY = imageCalibHandeye.dTableAngleY[i];
                newImageAndTableItem.TableAngle = imageCalibHandeye.dTableAngle[i];
                imageAndTableItemsRotate.Add(newImageAndTableItem);
            }
            imageAndTableItemsCalib=new List<ImageAndTableItem>();
            for (int i = 0; i < 9; i++)
            {
                ImageAndTableItem newImageAndTableItem = new ImageAndTableItem();
                newImageAndTableItem.Name = "转换数据" + (i + 1).ToString(); ;
                newImageAndTableItem.ImageX = imageCalibHandeye.dImageXCalib[i];
                newImageAndTableItem.ImageY = imageCalibHandeye.dImageYCalib[i];
                newImageAndTableItem.TableX = imageCalibHandeye.dTableXCalib[i];
                newImageAndTableItem.TableY = imageCalibHandeye.dTableYCalib[i];
                imageAndTableItemsCalib.Add(newImageAndTableItem);
            }
            gridControlImageCalibDatasOrg.DataSource = imageAndTableItemsOrg;
            gridControlImageCalibDatasRotate.DataSource = imageAndTableItemsRotate;
            gridControlImageCalibDatasCalib.DataSource = imageAndTableItemsCalib;
        }
    }
}
